All files / src/app/project/[projectID]/phase/p0-voice-casting/TextToSpeech/VoiceSelector VoiceSelectorSearchSettings.ts

0% Statements 0/3
100% Branches 0/0
100% Functions 0/0
0% Lines 0/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28                                                       
import z from "zod";
 
export const VOICE_SELECTOR_SETTINGS_ENUMS = {
    SORT: ["CREATED_AT", "NAME"],
    VOICE_TYPE: ["PERSONAL", "COMMUNITY", "DEFAULT", "WORKSPACE", "NON_DEFAULT", "SAVED"],
    CATEGORY: ["PREMADE", "CLONED", "GENERATED", "PROFESSIONAL"],
    FINE_TUNING: ["DRAFT", "NOT_VERIFIED", "NOT_STARTED", "QUEUED", "FINE_TUNED", "FAILED", "DELAYED"],
    SORT_DIRECTION: ["ASCENDING", "DESCENDING"],
} as const;
 
export const VoiceSelectorSearchSettingsSchema = z.object({
    pageSize: z.number().min(1).max(100).default(10),
    searchQuery: z.string().default(""),
    sort: z.enum(VOICE_SELECTOR_SETTINGS_ENUMS.SORT).nullable().default(null),
    sortDirection: z.enum(VOICE_SELECTOR_SETTINGS_ENUMS.SORT_DIRECTION).nullable().default(null),
    voiceType: z.enum(VOICE_SELECTOR_SETTINGS_ENUMS.VOICE_TYPE).nullable().default(null),
 
    category: z.enum(VOICE_SELECTOR_SETTINGS_ENUMS.CATEGORY).nullable().default(null),
    fineTuning: z.enum(VOICE_SELECTOR_SETTINGS_ENUMS.FINE_TUNING).nullable().default(null),
    includeTotalCount: z.boolean().nullable().default(null),
    collectionID: z.string().nullable().default(null),
    voiceIDs: z.array(z.string()).nullable().default(null),
});
 
export const VoiceSelectorSearchSettingsDefaultValue = VoiceSelectorSearchSettingsSchema.parse({});
 
export type VoiceSelectorSearchSettings = z.infer<typeof VoiceSelectorSearchSettingsSchema>;